package com.qfedu.dao;

import com.qfedu.pojo.Student;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * @author wangyu
 * @Classname: StudentDao
 * @Description: TEST
 * @date 2022-04-10 19:47
 */

/**
 * 在Mybatis 进行条件查询操作
 * 1. 如果操作方法只有一个简单类型或字符串类型的参数，在Mapper配置中可以直接通过#{key}直接获取 ,key为任意值
 * 2. 如果操作方法有一个对象类型的参数，在mapper配置中可以直接通过#{attrName}获取对象的指定属性值（attrName必须是参数对象的属性）
 * 3. 如果操作方法有一个map类型的参数，在mapper 配置中可以直接通过#{key}获取key对应的value
 * 4. 如果操作方法有多个参数，该如何处理？
 */
public interface StudentDao {
    //    增加
    public int insertStudent(Student student);

    //删除
    public int deleteStudent(String stuNum);

    // 修改
    public int updateStudent(Student student);

    //    查询
    public List<Student> listStudents();

    //    查询一个
    public Student queryStudent(String stuNum);
    //    分页查询
//public List<Student> listStudentsByPage(HashMap<String,Integer> map);
//    public List<Student> listStudentsByPage(@Param("start") int start,@Param("pageSize")  int pageSize);

//    查询记录数
//    public  int getCount();

    // 带条件的分页查询
    public List<Student> listStudentsByPage(String gender);
}
